package service

import (
	"app/internal/struct/store"
	"app/util"
)

func (s *Service) WaitChannelMsg(key string, f func(channel string, msg []byte)) error {

	return s.dao.PopMsg(key, f)
}

func (s *Service) registerChannel(channel string, msg []byte) {

	obj := store.Register{}
	if err := util.ConvertObj(msg, &obj); err != nil {
		return
	}
	obj.Time = util.GetNowUnixSec()
	s.dao.StoreRegister(obj)
}
func (s *Service) userChannel(channel string, msg []byte) {

	obj := store.User{}
	if err := util.ConvertObj(msg, &obj); err != nil {
		return
	}
	s.dao.StoreUser(obj, store.User{Id: obj.Id})
}

func (s *Service) heartChannel(channel string, msg []byte) {

	obj := store.Heart{}
	if err := util.ConvertObj(msg, &obj); err != nil {
		return
	}

	obj.Time = util.GetNowUnixSec()
	s.dao.StoreHeart(obj, store.Heart{Id: obj.Id})
}
func (s *Service) licenseChannel(channel string, msg []byte) {

	obj := store.License{}
	if err := util.ConvertObj(msg, &obj); err != nil {
		return
	}

	if err := s.dao.StoreLicense(obj); err != nil {
		return
	}

}
